hsweb的系列学习之FreeMarker模板引擎与动态页面静态化与后台结合的一些处理逻辑 二
FreeMarker基础补强请参考:https://github.com/muyinchen/migo-freemaker
首先是对登录逻辑的处理:
图1
通过一个ajax来访问,返回的数据信息表示成功就会访问到图17
的逻辑
图2
图3
是对图2
的登录逻辑的展示
图3
登录之后跳转到index.ftl
,在此请看红色标记:
图4
通过macro
来自定义一个指令api
,定义内容见图5
图5
通过上述的定义逻辑会访问到UserModuleController.class
里的相应处理逻辑,如下图所示:
图6
index
页面js
处理逻辑
对返回的数据进行展示:
图7
对onNodeClick
事件的处理:
在此举个小例子:
1 | <ul id="tree1" class="mini-tree" url="../data/tree.txt" style="width:300px;padding:5px;" |
图8
乱入一张,防止有些小伙伴迷糊,通过配置文件查看可以得知,返回的地址的后缀名统一为.ftl
图9
对图8
中Request.BASH_PATH
的解读
同样,先通过macro
来自定义一个指令basePath
,注意需要后端传入的模型视图(ModelAndView
)中的参数名称为absPath
,然后看图10
的
箭头所指:
图10
图11
的逻辑就是先通过模型视图找到admin
下的login.ftl
,填完相应信息再提交给图3
的逻辑处理,因为就近原则的关系,hsdemo
已经在index.ftl
有此逻辑了,可以在自己的项目中调用此模板来处理的
图11
图12
通过图12
可以看到在此对地址进行转换
对其他访问逻辑的处理
图13
以点击表单管理
为例:
图14
结合图15:
第一个访问连接http://127.0.0.1:8080/admin/form/list.html?_t=769104&_winid=w7605
,因为已经经过处理并放入到模型视图(ModelAndView
)中,所以会直接访问到下图的list.ftl
图15
从图15
的红色标记可以看出,访问的链接地址将要跳转到:"http://127.0.0.1:8080/form/~latest"
,最后,结合图14
,访问相应逻辑
最后再补两张图的,方便理解:
图16
图17